/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package wwcontrolserver.sensor;

//import java.io.Serializable;


/**
 *
 * @author Michael Ferry
 */
public abstract class AbstractSensor {

    //Unique identifier for the sensor
    private SensorKey SKey;
    private int CALGROUP;
    private String SNAME;

    public AbstractSensor(int ifkSerial, int SNUM, int CALGROUP, String SNAME) {
        SKey = new SensorKey(ifkSerial, SNUM);
        this.CALGROUP = CALGROUP;
        this.SNAME = SNAME;
    }

    public SensorKey GetKey(){
        return SKey;
    }
    public int GetIFK(){
        return SKey.GetIFK();
    }
    public int GetSNUM(){
        return SKey.GetSNUM();
    }
    public int GetCalGroup(){
        return CALGROUP;
    }

    public String GetSensorName(){
        return SNAME;
    }

    public abstract double ComputedSensorValue(int SensorRawValue, double DYNR);

    public abstract boolean GetRatiometric();
    
    public abstract SensorRKey GetSensorRKey();

}
